]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
shell/app: Expose icon as property
authorFlorian Müllner <fmuellner@gnome.org>
Fri, 12 Mar 2021 22:13:25 +0000 (23:13 +0100)
committerMarge Bot <marge-bot@gnome.org>
Sun, 14 Mar 2021 20:36:41 +0000 (20:36 +0000)
A property can be more convenient than a method. More importantly,
we are about to allow the icon to change, so a property will be
useful to get notified about those changes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1761>

src/shell-app.c

index d4fe30b0f5cfa93479dbad1777aa3b837ef4b032..d86b05a22d25bb531dae2d75e19fb790cf302686 100644 (file)
@@ -93,6 +93,7 @@ enum {
   PROP_ID,
   PROP_DBUS_ID,
   PROP_ACTION_GROUP,
+  PROP_ICON,
   PROP_APP_INFO
 };
 
@@ -127,6 +128,9 @@ shell_app_get_property (GObject    *gobject,
     case PROP_ID:
       g_value_set_string (value, shell_app_get_id (app));
       break;
+    case PROP_ICON:
+      g_value_set_object (value, shell_app_get_icon (app));
+      break;
     case PROP_ACTION_GROUP:
       if (app->running_state)
         g_value_set_object (value, app->running_state->muxer);
@@ -1645,6 +1649,19 @@ shell_app_class_init(ShellAppClass *klass)
                                                         NULL,
                                                         G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
 
+  /**
+   * ShellApp:icon:
+   *
+   * The #GIcon representing this ShellApp
+   */
+  g_object_class_install_property (gobject_class,
+                                   PROP_ICON,
+                                   g_param_spec_object ("icon",
+                                                        "GIcon",
+                                                        "The GIcon representing this app",
+                                                        G_TYPE_ICON,
+                                                        G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+
   /**
    * ShellApp:action-group:
    *